<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
    // 5.filter()函数过滤掉数组中不满足条件的值,如果回调函数返回true就留下，返回一个新数组,不改变原数组

        // let arr = [1,2,3,4,5,6,7];
        // let newArr =   arr.filter(item => item>5);
        // const students = [
        //     {name:"张三1",score:80},
        //     {name:"张三2",score:30},
        //     {name:"张三3",score:40},
        //     {name:"张三4",score:60},
        //     {name:"张三5",score:50}
        // ]
        // let newArr = students.filter(item=>item.score>=60)
        // console.log(newArr);
     // 6.forEach 遍历数组，无返回值，不改变原数组，仅仅只是遍历 --相当于for循环遍历
                // let arr = [23,45,67,32,58];
        // arr.forEach((v,i)=>{
        //     console.log(i,v);
        // })

        // 7.map遍历数组，返回一个新数组，不改变原数组， 映射 一个对一个，映射到一个新数组
        // let newArr = students.map(item => item.score>=60 ? "及格" : "不及格")
        // console.log(newArr);

        // 8.reduce让数组的前后两项进行某种计算,然后返回其值//num初始默认是0
        // let he =  arr.reduce((num,item,index)=>{
        //     return num+item;
        // })

        // let pjs = arr.reduce((num,item,index)=>{
        //     if(index<arr.length-1){
        //         return num+item
        //     }else{
        //         return (num+item)/(index+1)
        //     }
            
        // })

        // console.log(pjs);


        //9.keys()对键名的遍历,values() ,entries()对键值对的遍历，返回一个遍历器  可以使用for...of循环进行

		let arr = [3,6,8,9,2,"2"];
		console.log(arr.keys());
		// console.log(arr.values());
		// console.log(arr.entries());
		// for (const i of arr.entries()) {
		// 	console.log(i);
		// }
		//10.includes() 返回一个布尔值，表示一个数组是否包含给定的值
		// console.log(arr.includes("2"));
		// console.log(arr.indexOf(6));
    </script>
</body>
</html>